home *** CD-ROM | disk | FTP | other *** search
- Well success at last since no one had a solution to revectoring
- output for M S Pascal I would like to share my first temporary
- solution to the problem. M S Pascal uses Xenix compatible function
- calls. Once I read that little tid bit of information I thought
- of this if it uses these compatible calls it must write to the
- screen using INTR 21H function 40H device number 1. Since INTR 21H
- has to use interrupt vectors that gives you a reference point to
- intercept output data. Four procedures are necessary three assembly
- language one Pascal. First assembly language routine resets the
- INTR 21H vector to the second assembly INTR procedure. The interrupt
- procedure checks if the function call is 40H if not jump long to
- the old vector. if it was function 40H then check if the device
- number is 1 the screen if not jump long to old vector. After it
- finds function 40H device 1 it sets up parameters to call the one
- Pascal public procedure. Upon return from the Pascal procedure
- it executes an IRET from the INTR 21H. The last assembly procedure
- just restores the old interrupt vector back. This documentation
- along with necessary source and object code will be contained
- in the upload file MSNEWOUT.ARC
- Thanks to the people who have responded to my pleas for help
- in the past. If and when I receive a graceful solution from
- Microsoft I will up load that answer also for anyone who is
- interested. If you have any questions send mail to
- Arno Karner